package com.wn.mine

import android.content.Context
import androidx.lifecycle.MutableLiveData
import com.blankj.utilcode.util.ToastUtils
import com.wn.common.base.BaseViewModel
import com.wn.common.webview.WebViewActivity
import com.wn.mine.repository.IMineRepository
import com.wn.service.db.UserInfo
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.delay
import javax.inject.Inject

/**
 * @Author: wn
 * @Date: 2023/5/31 10:04
 * @Description: 个人中心 ViewModel
 */

@HiltViewModel
class MineViewModel @Inject constructor(private val repository: IMineRepository) : BaseViewModel() {
  // 用户数据
  val liveUserInfo = repository.liveUserInfo

  // 用于布局的 Livedata
  val liveInfoRsp = MutableLiveData<UserInfo?>()
//  val userInfoBean = ObservableField(liveUserInfo.value)

  /**
   * 获取 userinfo的 dao 操作
   */
  fun getUserInfo() {
    apiLaunch {
      // 登录后 直接查询 太快了 可能查询为 null
      delay(4)
      repository.getUserInfo()
    }
  }

  /**
   * 删除 userinfo的 dao 操作
   */
  fun deleteUserAndToken(userInfo: UserInfo) {
    apiLaunch {
      repository.deleteUserAndToken(userInfo)
    }
  }

  //  点击事件  移到  viewModel 中
  fun tvOrdersMine(context: Context) {
    ToastUtils.showShort("正在访问正式接口")
    WebViewActivity.openUrl(context, "https://m.cniao5.com/user/order")
  }
}